Software Reverse Engineering
"CrackersConvert" von Volatility

Finden der funktionierenden Seriennummer

Bitte zuerst den Abschnitt "ANMERKUNG" am Ende des Essays lesen!


Ziel: Finden der korrekten Seriennummern
Autor: Vladimir
Übersetzt von: ---
Programm/e: CrackersConvert
Wo zu finden: http://ImmortalDescendants.com
Geschützt durch: Kombination aus: User Name/ Seriennummer
Tools, die ihr braucht: SoftIce, Musik, Bier (hehe) (SANDMAN´S WinIce.dat wäre angebracht,
könnt ihr hier bei den Tools downloaden)
Level: Anfänger

CC hat mir VOL während einer kurzen ICQ-Session geschickt. Er erzählte mir, das dieses Proggie
zum einen ein recht nützliches Tool für alle Reverser sei und- darum gibt´s das Essay ja auch- ein
kleines, feines VB-CrackMe. Also jeder, der eine registrierte Version (mit schönem Acid-Smiley)
haben will, sollte frisch an´s Werk gehen und Sice warmlaufen lassen.
Und- wie es sich für einen Newbie wie mich gehört-ich fing sofort an, das Prog in WDasm zu ziehen,
um nach den String References Ausschau zu halten... Doch- Oh Graus- keine da! Das einzige, was ich
dort zu lesen bekam, war "VB5"...na toll. OK, nächster Schritt war, die ganze Suppe mit SmartCheck
im Rücken zu starten. Doch auch dort waren die Info´s nicht allzu komplex (allerdings trotzdem mal
schauen und notieren...dat kann wohl helfen....).
Völlig entnervt schmiß ich den Versuch in die Tiefen der HD und studierte lieber weiter alte Tutorials,
lesend, ausprobierend und literweise Bier trinkend....
Doch dann traf mich der Hammer (neinnein-nicht das Bier war Schuld, brauchte noch nicht mal Aspirin):
Gab´s da nicht mal ein Essay über VB- Cracking vom SANDMAN????----- :-)
Genau. Doch genug des Laberns, frisch ans Werk:

DIE SERIENNUMMER ANGELN:

Wenn ihr das Prog startet, fällt als erstes die MSGBOX mit dem nervenden "unregistered" ins Auge
(immer wieder ätzend, gell?!). Um an das Registrierungsmenu zu kommen, müßt ihr den "ABOUT"
Button drücken und dann- wie könnte es anders sein- den "REGISTER"- Button.
In die "USERNAME"-Textbox müßt ihr euer Handle eingeben (mindestens zwei Buchstaben)-
ich habe (was sonst) "vladimir" eingegeben.
Nun müßt ihr in die "REGISTRATION CODE"-Textbox eine- natürlich noch nicht funktionierende,
sonst könnten wir uns das sparen- Nummer eingeben. Ich habe "0815" gefillt. (latürnich geht auch 007
wenn ihr Bond mögt, oder die Versionsnummer der neuen Enterprise... völlig Wurscht).
Nun drückt mal hübsch den "VALIDATE BUTTON"----und dieses ätzende "Sorry, better look
next time" taucht auf. KLAR WERDEN WIR UNS WIEDERSEHEN (LOL).

Allreid, die ganze Kiste nochmal, doch bevor ihr "VALIDATE" drückt, spring mal kurz zum SICE,
indem ihr "STRG+D" drückt. Nun setzt ihr einen "breakpoint on execution", diesesmal für die HMEMCPY
Funktion. Dies geht mit "BPX HMEMCPY". Zurück zum CC mit "F5", und nun hübsch den "VALIDATE"
Button gedrückt...ZACKBOUM. SiCE ist wieder da, und zwar an folgender Stelle:

0117:9E77
KERNEL!HMEMCPY
0117:9E7A
0117:9E7B
0117:9E7D
0117:9E7E
0117:9E80

RETF 0008

PUSH BP
MOV BP,SP
PUSH DS
PUSH EDI
PUSH ESI

....

OKEE, seid ihr alle da? Dann "F11" drücken, um diese Operation komplett ausführen zu lassen und
zu der Listingstelle zu kommen, die die Funktion gecallt hat: Ihr werdet hier landen:

179F:0B40
179F:0B45

CALL KERNEL!HMEMCPY
PUSH PTR (DI)

....

Jetzt klammert euch an der "F10"- Taste fest (drücken, mensch), um Schritt für Schritt durch das Coding
zu spazieren, bis ihr in der SICE-Statuszeile die Nachricht "MSCBVM50.Text+********" (<- diese
Adresse wird sich, wie andere auch, eventuell von eurer unterscheiden...daher nur ***). Diese F10
Prozedur zieht sich etwas hin, aber keine Angst...und immer schön kewl bleiben.
Yep, wenn ihr angekommen seid, dann drückt: "ALT+F4" (benutzt die modifizierte winice.dat, dieser Shortcut sucht automatisch nach der VB-CompareRoutine), um eben jene zu finden...
SICE wird sich mit "PATTERN FOUND AT ****:********" melden. Nun gebt "U ****:********"
( die Adresse, die ihr vorher gedisplayed bekamt), um diesen Teil des Codings zu disassemblieren.
BAMM, und das bekommt ihr vor die Flinte:

0137:0F00D9EA
0137:0F00D9EB
0137:0F00D9EC
0137:0F00D9F0
0137:0F00D9F4
0137:0F00D9F8
0137:0F00D9FA
0137:0F00D9FD

PUSH ESI <-- legt esi ab
PUSH EDI <-- legt edi ab
MOV EDI, (ESP+10) <-- das ist eure Nummer
MOV ESI, (ESP+0C) <-- das ist die funktionierende Nummer
MOV ECX, (ESP+14) <-- wie lang ist eure Seriennummer?
XOR EAX, EAX <-- löschen des eax-registers
REPZ CMPSV
JZ 0F00DA04

Ok, nun geht´s weiter: Löscht den alten Breakpoint (hmemcpy) mit "BC 0" (Wenn ihr euch nicht sicher
seid, oder mehrere gesetzt habt, dann schaut mit "BL" in der Breakpointliste nach und löscht die
entsprechende Funktion). Dann setzt ihr einen Breakpoint auf die oben aufgeführte Routine, und zwar
mit "BPX ****:********", um CC zu zwingen, an dieser Stelle zu breaken. Also, nochmal "F5" um
zurück zu CC zu gelangen, und ZACK....SICE ist wieder im Haus. Und nun? Jetzt stept ihr mit "F10"
zu folgender Stelle:


0137:0F00D9F0


MOV ESI, (ESP+0C)

bis


0137:0F00D9EC


MOV EDI, (ESP+10)

ausgeführt wurde. Und- zu guter letzt-, laßt euch den Inhalt des Registers mit "D EDI" anzeigen---
TATAAAA- da isse: In den ersten Zeilen des SICE-Coding-Windows findet ihr:
"REG-*****-CODE" (in meinem Fall: REG-2360-CODE).
OK, aufschreiben, Breakpoint löschen, mit "F5" zurück zur Registerroutine und zusammen mit dem
alten Namen die eben notierte Kombi eingeben: "NICE WORK! YOU´RE NOW REGISTERED"
erscheint.

ERLEDIGT

Ansonsten- probiert mal ein bißchen rum: ihr werdet einige interessante Info´s sammeln können (wo
werden die Info´s gesaved (einfach!), wie errechnet (und wofür??) das Proggie die REG, etc). Macht
Spaß und hält Jung, hehehe.....

Ihr könnt auch den zu diesem Proggie gehörenden KeyGen von mir downloaden, aber besser selbst
einen schreiben......

Biz d@nn

VLADIMIR

ANMERKUNG:
Dieses Essay dient nur zur Erweiterung des Wissensstandes! Wir übernehmen keine
Verantwortung für das, was eventuell mit eurem Rechner passiert.
Wenn ihr das Programm erfolgreich gecrackt habt, müßt ihr es sofort löschen! mWenn ihr
weiterhin damit arbeiten wollt, dann erwerbt es rechtmäßig!!
UNTERSTÜTZT SHAREWARE, DENN DAS SIND UNSERE ÜBUNGSANWENDUNGEN!
Es ist verboten, gecrackte/gepatchte Software zu benutzen.

Copyright (c) 1999 VLADIMIR (GermanCrackingForum)


<FORUM> <ESSAYS> <TOOLS> <LINX> <KONTAKT> <START> <CRACKMES>